package com.kwshare.system.service;

import com.kwshare.common.core.domain.system.Menu;

import java.util.List;

/**
 * 菜单接口
 *
 * @author yangjing
 */
public interface IMenuService {

    /**
     * 查询菜单列表信息
     *
     * @return 菜单列表
     */
    List<Menu> getMenuList();

    /**
     * 查询菜单列表信息
     *
     * @return 菜单列表
     */
    List<Menu> getMenuList(List<Long> roleIds);

    /**
     * 构建菜单树信息
     * @param menus 菜单列表
     * @return 菜单树
     */
    List<Object> buildMenuTree(List<Menu> menus);

    /**
     * 构建角色菜单树信息
     * @param menus 菜单列表
     * @return 菜单树
     */
    List<Object> buildRoleMenuTree(List<Menu> menus);

    /**
     * 根据角色ID查询菜单树信息
     *
     * @param roleId 角色ID
     * @return 选中菜单列表
     */
    List<Long> selectMenuListByRoleId(Long roleId);
}
